Second-Order Propositional Satisfiability
نویسندگان
چکیده
Program synthesis is the automated construction of software from a specification. While program synthesis is undecidable in general, we show that synthesising finite-state programs is NEXPTIMEcomplete. We then present a fully automatic, sound and complete algorithm for synthesising C programs from a specification written in C. Our approach uses a combination of bounded model checking, explicit-state model checking and genetic programming to achieve surprisingly good performance for a problem with such high complexity. By identifying a correspondence between program synthesis and secondorder logic, we show how to use our program synthesiser as a decision procedure for existential second-order logic over finite domains. We illustrate the expressiveness of this logic by encoding several program analysis problems including superoptimisation, de-obfuscation, safety and termination. Finally, we present experimental results showing that our approach is tractable in practice.
منابع مشابه
The Search for Systems of Diagonal Latin Squares Using the SAT@home Project
In this paper we consider the approach to solving the problem of search for systems of diagonal orthogonal Latin squares in the form of the Boolean Satisfiability problem. We describe two different propositional encodings that we use. The first encoding is constructed for finding pairs of orthogonal diagonal Latin squares of order 10. Using this encoding we managed to find 17 previously unknown...
متن کاملThe Computational Complexity of Satisfiability of Temporal Horn Formulas in Propositional Linear-Time Temporal Logic
Since the invention of Prolog, a programming language based on classical first-order logic, many people have tried to extend it using similiar ideas and redefine the semantics of the extended Prolog in terms of nonclassical logics [3,5,81. The success of a programming language based on nonclassical logics usually lies in the new definiton of Horn formulas and SLD-resolution-like inference rule....
متن کاملPartial Order Constraints for Graph Algorithms
In recent work [5, 6, 1] we formalize a propositional logic over partial orders. Formulæ in this logic are just like usual propositional formulæ except that propositions are statements about a partial order on a finite set of symbols. For example, (f = g)∧ ((f > h) ∨ (h > g)) is a formula in this logic. We refer to the formulæ of this logic as partial order constraints. There are many applicati...
متن کاملAbduction as Satisfiability
Abduction is reasoning in propositional or first-order logic that provides explanations for observations. We show how context-free parsing and automated planning can be formulated using abductive rules and present a fast prover based on propositional satisfiability. Furthermore we show how weighted abduction can be efficiently implemented in the prover.
متن کاملSolving Quantified First Order Formulas in Satisfiability Modulo Theories
Design errors in computer systems, i.e. bugs, can cause inconvenience, loss of data and time, and in some cases catastrophic damages. One approach for improving design correctness is formal methods: techniques aiming at mathematically establishing that a piece of hardware or software satisfies certain properties. For some industrial cases in which formal methods are utilized, a huge number of e...
متن کاملCounterexample Guided Abstraction Refinement Algorithm for Propositional Circumscription
Circumscription is a representative example of a nonmonotonic reasoning inference technique. Circumscription has often been studied for first order theories, but its propositional version has also been the subject of extensive research, having been shown equivalent to extended closed world assumption (ECWA). Moreover, entailment in propositional circumscription is a well-known example of a deci...
متن کامل